Readme
Example Summary
I2C Controller writes and reads multiple bytes to/from a target device. The example uses FIFO and interrupts. LED toggles if transmission and reception are successful. The Target device must be enabled and active before running this example.
This example can be used to validate I2C communication, as a starting point to control any I2C target, or to create custom drivers.
Note: Example requires Rev E3 or later of the MSPM0C1104 LaunchPad.
Peripherals & Pin Assignments
| Peripheral | Pin | Function |
|---|---|---|
| GPIOA | PA22 | Standard Output |
| GPIOA | PA2 | Standard Output |
| SYSCTL | ||
| I2C0 | PA0 | I2C Serial Data line (SDA) |
| I2C0 | PA11 | I2C Serial Clock line (SCL) |
| EVENT | ||
| DEBUGSS | PA20 | Debug Clock |
| DEBUGSS | PA19 | Debug Data In Out |
BoosterPacks, Board Resources & Jumper Settings
Visit LP_MSPM0C1104 for LaunchPad information, including user guide and hardware files.
| Pin | Peripheral | Function | LaunchPad Pin | LaunchPad Settings |
|---|---|---|---|---|
| PA22 | GPIOA | PA22 | J1_8 | N/A |
| PA2 | GPIOA | PA2 | J2_13 |
|
| PA0 | I2C0 | SDA | J1_10 |
|
| PA11 | I2C0 | SCL | J1_9 |
|
| PA20 | DEBUGSS | SWCLK | J2_11 |
|
| PA19 | DEBUGSS | SWDIO | J2_17 |
|
Device Migration Recommendations
This project was developed for a superset device included in the LP_MSPM0C1104 LaunchPad. Please visit the CCS User’s Guide for information about migrating to other MSPM0 devices.
Low-Power Recommendations
TI recommends to terminate unused pins by setting the corresponding functions to GPIO and configure the pins to output low or input with internal pullup/pulldown resistor.
SysConfig allows developers to easily configure unused pins by selecting Board→Configure Unused Pins.
For more information about jumper configuration to achieve low-power using the MSPM0 LaunchPad, please visit the LP-MSPM0C1104 User’s Guide.
Example Usage
Connect SDA and SCL between I2C Controller and Target. Note that I2C requires pull-up resistors. Internal pull-ups can be enabled in SysConfig (see datasheet for resistance specification), but external pull-ups might be required based on I2C speed and capacitance. External pull-ups can be connected or enabled using the LaunchPad. Compile, load and run the example. LED1 will toggle periodically if transmission and reception were successful. LED1 will remain off if there is a problem during initialization. LED1 will remain on if there is a problem during data transfers. USER_TEST_PIN GPIO will mimic the behavior of the LED pin on the BoosterPack header and can be used to verify the LED behavior.